package org.budo.weixin.qiye;

import java.util.List;
import java.util.Map;

import org.budo.weixin.message.Article;

/**
 * @author li
 * @version 1 (2015年10月12日 上午11:28:37)
 * @since Java7
 */
public class WeixinQiyeMessage implements java.io.Serializable {
    private static final long serialVersionUID = 555043610188089474L;

    public static final String TYPE_TEXT = "text";

    public static final String TYPE_IMAGE = "image";

    public static final String TYPE_VOICE = "voice";

    public static final String TYPE_VIDEO = "video";

    public static final String TYPE_NEWS = "news";

    public static final String TYPE_SHORT_VIDEO = "shortvideo";

    public static final String TYPE_LOCATION = "location";

    public static final String TYPE_EVENT = "event";

    public static final String EVENT_CLICK = "click";

    public static final String EVENT_SUBSCRIBE = "subscribe";

    public static final String EVENT_UNSUBSCRIBE = "unsubscribe";

    public static final String EVENT_CHANGE_CONTANCT = "change_contact";

    public static final String EVENT_LOCATION = "location";

    public static final String LINK = "link";

    private String toUserName;

    private String fromUserName;

    private Long createTime;

    private String messageType;

    private String content;

    private String messageId;

    private String mediaId;

    private String picUrl;

    private String format;

    private String thumbMediaId;

    private String event;

    private String eventKey;

    private String scanType;

    private String scanResult;

    private String latitude;

    private String longitude;

    private String precision;

    private String locationX;

    private String locationY;

    private String scale;

    private String label;

    private String url;

    private String title;

    private String description;

    /**
     * 企业应用的id
     */
    private String agentId;

    private List<Article> articles;

    /**
     * 以下为成员变更的属性
     */
    private String changeType;

    private String userID;

    private String newUserID;

    private String name;

    private Integer department[];

    private String position;

    private String gender;

    private String email;

    private String status;

    private String avatar;

    private String englishName;

    private String isLeader;

    private String telephone;

    private String mobile;

    private List<Map<String, String>> extAttr;

    /**
     * 新增部门的部门Id
     */
    private Integer id;

    /**
     * 新增部门的部门Id
     */
    public Integer getId() {
        return this.id;
    }

    /**
     * 新增部门的部门Id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    public List<Article> getArticles() {
        return this.articles;
    }

    public void setArticles(List<Article> articles) {
        this.articles = articles;
    }

    public String getScanResult() {
        return this.scanResult;
    }

    public String getScanType() {
        return this.scanType;
    }

    public void setScanResult(String scanResult) {
        this.scanResult = scanResult;
    }

    public void setScanType(String scanType) {
        this.scanType = scanType;
    }

    public void setEventKey(String eventKey) {
        this.eventKey = eventKey;
    }

    public String getEventKey() {
        return this.eventKey;
    }

    public String getLabel() {
        return this.label;
    }

    public String getLocationX() {
        return this.locationX;
    }

    public String getLocationY() {
        return this.locationY;
    }

    public String getScale() {
        return this.scale;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public void setLocationX(String locationX) {
        this.locationX = locationX;
    }

    public void setLocationY(String locationY) {
        this.locationY = locationY;
    }

    public void setScale(String scale) {
        this.scale = scale;
    }

    public String getThumbMediaId() {
        return this.thumbMediaId;
    }

    public void setThumbMediaId(String thumbMediaId) {
        this.thumbMediaId = thumbMediaId;
    }

    public String getFormat() {
        return this.format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getMediaId() {
        return this.mediaId;
    }

    public void setMediaId(String mediaId) {
        this.mediaId = mediaId;
    }

    public String getPicUrl() {
        return this.picUrl;
    }

    public void setPicUrl(String picUrl) {
        this.picUrl = picUrl;
    }

    public String getLatitude() {
        return this.latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getLongitude() {
        return this.longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getPrecision() {
        return this.precision;
    }

    public void setPrecision(String precision) {
        this.precision = precision;
    }

    public String getEvent() {
        return this.event;
    }

    public void setEvent(String event) {
        this.event = event;
    }

    public String getAgentId() {
        return this.agentId;
    }

    public String getMessageType() {
        return this.messageType;
    }

    public String getMessageId() {
        return this.messageId;
    }

    public void setAgentId(String agentId) {
        this.agentId = agentId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public void setMessageType(String messageType) {
        this.messageType = messageType;
    }

    public String getContent() {
        return this.content;
    }

    public Long getCreateTime() {
        return this.createTime;
    }

    public String getFromUserName() {
        return this.fromUserName;
    }

    public String getToUserName() {
        return this.toUserName;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public void setFromUserName(String fromUserName) {
        this.fromUserName = fromUserName;
    }

    public void setToUserName(String toUserName) {
        this.toUserName = toUserName;
    }

    public String getUrl() {
        return this.url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getTitle() {
        return this.title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getChangeType() {
        return this.changeType;
    }

    public void setChangeType(String changeType) {
        this.changeType = changeType;
    }

    public String getUserID() {
        return this.userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getNewUserID() {
        return this.newUserID;
    }

    public void setNewUserID(String newUserID) {
        this.newUserID = newUserID;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer[] getDepartment() {
        return this.department;
    }

    public void setDepartment(Integer[] department) {
        this.department = department;
    }

    public String getPosition() {
        return this.position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getGender() {
        return this.gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getStatus() {
        return this.status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getAvatar() {
        return this.avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getEnglishName() {
        return this.englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getIsLeader() {
        return this.isLeader;
    }

    public void setIsLeader(String isLeader) {
        this.isLeader = isLeader;
    }

    public String getTelephone() {
        return this.telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public List<Map<String, String>> getExtAttr() {
        return this.extAttr;
    }

    public void setExtAttr(List<Map<String, String>> extAttr) {
        this.extAttr = extAttr;
    }

    public String getMobile() {
        return this.mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
}